// Vue.config.js 配置选项
const CompressionPlugin = require("compression-webpack-plugin")
module.exports = {

  //  基本路径

  publicPath: "/",

  //  构建时的输出目录

  outputDir: "dist",

  //  放置静态资源的目录

  assetsDir: "static",

  //  html 的输出路径

  indexPath: "index.html",

  //  是否在保存的时候使用 `eslint-loader` 进行检查。

  lintOnSave: false,

  productionSourceMap: false,

  //webpack配置
  configureWebpack: {

    //警告 webpack 的性能提示
    performance: {
      hints: 'warning',
      //入口起点的最大体积
      maxEntrypointSize: 50000000,
      //生成文件的最大体积
      maxAssetSize: 30000000,
      //只给出 js 文件的性能提示
      assetFilter: function (assetFilename) {
        return assetFilename.endsWith('.js');
      }
    }
  },


  chainWebpack: config => {
    // 解决ie11兼容ES6
    config.entry('main').add('babel-polyfill')
   
    // 开启js、css压缩
    if (process.env.NODE_ENV === 'production') {
      config.plugin('compressionPlugin')
        .use(new CompressionPlugin({
          test: /\.js$|\.html$|.\css/, // 匹配文件名
          threshold: 10240, // 对超过10k的数据压缩
          deleteOriginalAssets: false // 不删除源文件
        }))
    }
  }

}